<template>
	<button open-type="getUserInfo" @getuserinfo="login">授权登录</button>
</template>

<script setup>
	/*
		1. 获取到用户数据
		2. 调用wx.login()得到code（登录凭证）
		3. 将code和用户数据发送请求到开发服务器去（一些敏感数据不能在客户端中，所以请求在服务端发送）
		4. 通过code、appid、appsecret等参数去微信服务器请求用户数据（openid和session_key）
	*/
 
 const login = (e) => {
	 // 1. 获取到用户数据
	 const userInfo = e.detail.userInfo;
	 // console.log(e.detail.userInfo);
	 // 2. 调用wx.login()得到code（登录凭证）
	 wx.login({
		 success(res) {
			 const code = res.code;
			 // console.log(res.code);
			 // 3. 将code和用户数据发送请求到开发服务器去
			 wx.request({
				 url: 'http://localhost:5000/loginByWeixin',
				 method: 'POST',
				 data: {
					 code,
					 userInfo
				 },
				 success(res) {
					 const token = res.data.data.token;
					 wx.setStorageSync('token', token);
					 wx.redirectTo({
						 url: '../my/my'
					 });
				 },
				 fail() {}
			 })
		 },
		 fail() {
			 wx.showToast({
				 title: '登录失败',
				 icon: 'none'
			 })
		 },
	 })
 }
</script>

<style>
</style>